{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "initial_id",
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    ""
   ]
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# 1、使用FUNCTION_CALL模式",
   "id": "a214a4001a80e62a"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-09T06:20:47.301319Z",
     "start_time": "2025-09-09T06:20:41.939300Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from langchain.memory import ConversationBufferMemory\n",
    "from langchain_core.prompts import ChatPromptTemplate, PromptTemplate\n",
    "# 获取Tavily搜索的实例\n",
    "from langchain_openai import ChatOpenAI\n",
    "from langchain.agents import initialize_agent, AgentType, create_tool_calling_agent, AgentExecutor\n",
    "from langchain.tools import Tool\n",
    "import os\n",
    "import dotenv\n",
    "from langchain_openai import ChatOpenAI\n",
    "from langchain_community.tools.tavily_search import TavilySearchResults\n",
    "dotenv.load_dotenv()\n",
    "\n",
    "# 读取配置文件的信息\n",
    "os.environ['TAVILY_API_KEY'] = \"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\"\n",
    "8\n",
    "# 获取Tavily搜索工具的实例\n",
    "search = TavilySearchResults(max_results=3)\n",
    "\n",
    "# 获取一个搜索的工具\n",
    "# 使用Tool\n",
    "search_tool = Tool(\n",
    "    func=search.run,\n",
    "    name=\"Search\",\n",
    "    description=\"用于检索互联网上的信息\",\n",
    ")\n",
    "\n",
    "\n",
    "# 获取大语言模型\n",
    "os.environ['OPENAI_API_KEY'] = os.getenv(\"OPENAI_API_KEY1\")\n",
    "os.environ['OPENAI_BASE_URL'] = os.getenv(\"OPENAI_BASE_URL\")\n",
    "llm = ChatOpenAI(\n",
    "    model=\"gpt-4o-mini\",\n",
    "    temperature=0,\n",
    ")\n",
    "\n",
    "\n",
    "# 提供提示词模板（以ChatPromptTemplate为例）\n",
    "prompt_template = ChatPromptTemplate.from_messages([\n",
    "    (\"system\",\"你是一个乐于助人的ai助手，根据用户的提问，必要时调用Search工具，使用互联网检索数据\"),\n",
    "    (\"system\",\"{agent_scratchpad}\"),\n",
    "    (\"system\",\"{chat_history}\"),  #添加一个chat_history的变量，用于记录上下文的记忆\n",
    "    (\"human\",\"{input}\"),\n",
    "    # (\"placeholder\",\"{agent_scratchpad}\")\n",
    "])\n",
    "\n",
    "# 提供记忆的实例：ConversationBufferMemory\n",
    "memory = ConversationBufferMemory(\n",
    "    return_messages=True,\n",
    "    memory_key=\"chat_history\", #此值需要与提示词模板中的记录记忆的变量同名\n",
    ")\n",
    "\n",
    "# 获取Agent的实例：create_tool_calling_agent()\n",
    "agent = create_tool_calling_agent(\n",
    "    llm=llm,\n",
    "    prompt=prompt_template,\n",
    "    tools=[search_tool]\n",
    ")\n",
    "\n",
    "# 获取AgentExecutor的实例\n",
    "agent_executor = AgentExecutor(\n",
    "    agent=agent,\n",
    "    tools=[search_tool],\n",
    "    verbose=True,\n",
    "    memory=memory,\n",
    ")\n",
    "\n",
    "\n",
    "# 通过AgentExecutor的实例调用invoke(),得到响应\n",
    "result = agent_executor.invoke({\"input\":\"查询今天北京的天气情况\"})\n",
    "\n",
    "# 处理响应\n",
    "print(result)\n"
   ],
   "id": "1a4bb2e6922c0870",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\shkst\\AppData\\Local\\Temp\\ipykernel_66412\\4220173726.py:47: LangChainDeprecationWarning: Please see the migration guide at: https://python.langchain.com/docs/versions/migrating_memory/\n",
      "  memory = ConversationBufferMemory(\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `Search` with `北京天气情况 2023年10月10日`\n",
      "\n",
      "\n",
      "\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '2023年10月中旬北京天气穿什么 - 抖音', 'url': 'https://www.douyin.com/shipin/7288577161567602725', 'content': 'Image 30: 早间天气预报（2023年10月10日 08:30）#北京 #天气 #多云 00:55早间天气预报（2023年10月10日 08:30）#北京 #天气 #多云 查看AI文稿 AI文稿 \\n今天白天，北京天空中的云亮逐渐增多，最高气温在二十二度左右，适宜朋友们户外活动。今天前半夜，天空中的云亮依然较多，半夜前后逐渐转晴，最低气温在十度上下，山区的最低气温在六到九度之间。 到了明天白天，北京大部分时间依然是晴好的天气。从傍晚前后开始，由于转受偏南气流的影响，北京天空中的云亮逐渐增多。 而随着高空槽主体的到来，十二号傍晚到夜间，北京将迎来一次小雨天气过程，后半夜天气逐渐转晴。 十三号的白天，随着冷空气的南下，天气晴好，还伴有二三季的小北风。不过未来三天的气温变化不大，白天的最高气温在二十到二十三度，夜间的最低气温在十到十二度之间。最后提示大家，近一段时间早晚气温较低，朋友们外出请合理调整着装，谨防着凉感冒。    81北京气象 [...] Image 85: 早间天气预报（2023年10月10日 08:30）#北京 #天气 #多云 00:55早间天气预报（2023年10月10日 08:30）#北京 #天气 #多云 查看AI文稿 AI文稿 \\n今天白天，北京天空中的云亮逐渐增多，最高气温在二十二度左右，适宜朋友们户外活动。今天前半夜，天空中的云亮依然较多，半夜前后逐渐转晴，最低气温在十度上下，山区的最低气温在六到九度之间。 到了明天白天，北京大部分时间依然是晴好的天气。从傍晚前后开始，由于转受偏南气流的影响，北京天空中的云亮逐渐增多。 而随着高空槽主体的到来，十二号傍晚到夜间，北京将迎来一次小雨天气过程，后半夜天气逐渐转晴。 十三号的白天，随着冷空气的南下，天气晴好，还伴有二三季的小北风。不过未来三天的气温变化不大，白天的最高气温在二十到二十三度，夜间的最低气温在十到十二度之间。最后提示大家，近一段时间早晚气温较低，朋友们外出请合理调整着装，谨防着凉感冒。    81北京气象 [...] 21\\n\\n13\\n\\n重播\\n\\n点击按住可拖动视频\\n\\nmore\\n\\n天气预报（2023年10月10日17:00）#北京#天气#晴天\\n\\n161\\n\\n3\\n\\n21\\n\\n13\\n\\n举报\\n\\n发布时间：2023-10-10 09:24\\n\\n查看AI文稿\\n\\nAI文稿', 'score': 0.9310187}, {'title': '北京新闻早报| 2023年10月10日 - 新浪财经', 'url': 'https://finance.sina.com.cn/jjxw/2023-10-10/doc-imzqqmwr7261797.shtml', 'content': 'Image 9\\n\\n▶今日天气\\n\\n今天白天晴转多云，北转南风二三级，最高气温22℃；夜间多云转晴，南转北风一二级，最低气温10℃。今天白天秋高气爽，风力不大，适宜出行；但昼夜温差较大，早晚出行适当增加衣物，谨防感冒。 \\u200b\\u200b\\u200b\\n\\n▶尾号限行\\n\\n3和8\\n\\nImage 10\\n\\n▶ 北京体质健康测试项目设置是否合理？权威答问来了\\n\\nImage 11\\n\\n市教委表示，目前各区根据实际，采用人工测试或者仪器设备测试，采用仪器设备测试的，要求保证设备精准性。同时，辅以人工计数，确保测试准确性。当计数出现不一致时，要通过录像回放等方式进行仲裁。能进入考场的仪器设备是符合要求的，家长可以放心。市教委也提示，统测的目的是为了引导孩子科学锻炼、坚持锻炼，家长和孩子们不必为何种测试方式而焦虑，只要平和心态，主动科学锻炼，一定能取得理想成绩。各区各考点也设有现场争议处理和仲裁机制，便于及时解决问题，最大限度保障测试结果公平公正。“现场还有本校老师带队，他们会和您一样关注孩子取得理想成绩，维护孩子的切身利益。”市教委相关负责人说。\\n\\n▶ 避免货不对板！北京拟出规定，新房竣工前应组织业主查验\\n\\nImage 12 [...] Published Time: 2023-10-10T07:52:02+08:00\\n\\n北京新闻早报 | 2023年10月10日|北京市_新浪财经_新浪网\\n\\n   新浪首页\\n   新闻\\n   体育\\n   财经\\n   娱乐\\n   科技\\n   博客\\n   图片\\n   专栏\\n   更多\\n\\n   汽车教育时尚女性星座健康\\n   房产历史视频收藏育儿读书\\n   佛学游戏旅游邮箱导航\\n\\n移动客户端\\n\\n   新浪微博\\n   新浪新闻\\n   新浪财经\\n   新浪体育\\n   新浪众测\\n   新浪博客\\n   新浪视频\\n   新浪游戏\\n   天气通\\n\\n我的收藏\\n\\n注册\\n\\nImage 2登录\\n\\n×\\n\\n新浪微博、博客、邮箱帐号，请直接登录\\n\\n   加载中...换个账号登录\\n   ×\\n\\n    Image 3: 工人徒手掰断钢筋？河北霸州：情况不属实\\n\\n   登录 - [x] 下次自动登录 \\n   忘记密码立即注册\\n   使用QQ登录\\n\\n请用最新版微博客户端扫码\\n\\nImage 4\\n\\nImage 5\\n\\nImage 6\\n\\n扫描成功！\\n\\n点击手机上的确认即可登录\\n\\nImage 7\\n\\n\\n\\n腾讯QQQQ空间\\n\\nImage 8 [...] 10月9日，市公安交管局发布消息，警方对在本市发生交通事故后逃逸构成犯罪的8名驾驶人，依法作出吊销机动车驾驶证，且终生不得重新取得机动车驾驶证的处罚。8名驾驶人中，年龄最大的68岁，年龄最小的21岁。这8名驾驶员均已被法院依法判决。\\n\\n▶ 北京潮白河开放两处滨水空间，149个垂钓台最诱人\\n\\nImage 21\\n\\n潮白河沿线两处滨水空间基本建设完工，正式面向市民开放，为市民新打造两处集休闲、漫步、垂钓、赏景、观鸟为一体的开放水域共享空间。金秋十月，天高云淡，潮白河碧波荡漾，水草丰美。北京市潮白河管理处工程科副科长张艳伶介绍，今年7月中旬，这处滨水开放空间连同上游密云区河槽段的滨水开放空间一同开工改造，9月底基本完工，“十一”期间进行了试运行，吸引了许多市民打卡。\\n\\n▶ 今日起，随迁子女在京参加高等职业学校招生网上申请开始\\n\\nImage 22', 'score': 0.89166987}, {'title': '北京历史天气预报2023年10月份', 'url': 'https://www.tianqihoubao.com/lishi/beijing/month/202310.html', 'content': '| 2023年10月08日 | 小雨 / 晴 | 22℃ / 12℃ | 北风 1-3级 / 西北风 1-3级 |\\n| 2023年10月09日 | 晴 / 晴 | 24℃ / 10℃ | 北风 1-3级 / 北风 1-3级 |\\n| 2023年10月10日 | 多云 / 多云 | 22℃ / 10℃ | 北风 1-3级 / 西南风 1-3级 |\\n | | | | | | |\\n| 2023年10月11日 | 晴 / 小雨 | 23℃ / 12℃ | 无持续风向 1-3级 / 无持续风向 1-3级 |\\n| 2023年10月12日 | 小雨 / 小雨 | 18℃ / 11℃ | 无持续风向 1-3级 / 无持续风向 1-3级 |\\n| 2023年10月13日 | 小雨 / 晴 | 21℃ / 9℃ | 无持续风向 1-3级 / 无持续风向 1-3级 |\\n| 2023年10月14日 | 晴 / 晴 | 24℃ / 10℃ | 无持续风向 1-3级 / 无持续风向 1-3级 |\\n| 2023年10月15日 | 晴 / 晴 | 23℃ / 7℃ | 无持续风向 1-3级 / 无持续风向 1-3级 | [...] 前一月 后一月 北京历史天气 北京10月份天气统计信息  \\n 搜索\"城市名+天气后报\"访问本站（北京天气后报）导出Excel\\n\\n### 天气状况统计\\n\\n2023年10月份北京北京天气状况统计图\\n白天天气\\n夜间天气\\n全天综合\\n\\n## 其他月份\\n\\n### 风力分布分析\\n\\n2023年10月份北京风力等级和风向分布情况图 \\n白天风力风向\\n夜间风力风向\\n全天综合\\n\\n### 关于天气后报\\n\\n天气后报提供全国34个省市所属的3146个地区的历史天气预报查询，数据来源于城市当天的天气预报信息，可以查询到历史天气气温，历史风向，历史风力等历史天气状况。\\n\\n### 快速链接\\n\\n### 联系我们\\n\\n关于我们 | 免责声明 | QQ : 1968509554 |\\n\\n版权所有 © 2012-2025 天气后报 [...] # 北京历史天气预报 2023年10月份\\n\\n### 温度趋势分析\\n\\n2023年10月份北京市每日最高气温和最低气温变化趋势图', 'score': 0.8646883}]\u001B[0m\u001B[32;1m\u001B[1;3m今天（2023年10月10日）北京的天气情况如下：\n",
      "\n",
      "- **白天**：多云，最高气温约22℃，适宜户外活动。\n",
      "- **夜间**：多云转晴，最低气温约10℃，山区最低气温在6到9℃之间。\n",
      "- **风速**：北转南风，风力在1-3级。\n",
      "\n",
      "建议早晚出行时适当增加衣物，以防感冒。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "{'input': '查询今天北京的天气情况', 'chat_history': [HumanMessage(content='查询今天北京的天气情况', additional_kwargs={}, response_metadata={}), AIMessage(content='今天（2023年10月10日）北京的天气情况如下：\\n\\n- **白天**：多云，最高气温约22℃，适宜户外活动。\\n- **夜间**：多云转晴，最低气温约10℃，山区最低气温在6到9℃之间。\\n- **风速**：北转南风，风力在1-3级。\\n\\n建议早晚出行时适当增加衣物，以防感冒。', additional_kwargs={}, response_metadata={})], 'output': '今天（2023年10月10日）北京的天气情况如下：\\n\\n- **白天**：多云，最高气温约22℃，适宜户外活动。\\n- **夜间**：多云转晴，最低气温约10℃，山区最低气温在6到9℃之间。\\n- **风速**：北转南风，风力在1-3级。\\n\\n建议早晚出行时适当增加衣物，以防感冒。'}\n"
     ]
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-09T06:21:19.483389Z",
     "start_time": "2025-09-09T06:21:14.656220Z"
    }
   },
   "cell_type": "code",
   "source": [
    "result = agent_executor.invoke({\"input\":\"上海的呢？\"})\n",
    "\n",
    "print(result)"
   ],
   "id": "f6796ebe6d9ce2c8",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m\n",
      "Invoking: `Search` with `今天上海的天气情况`\n",
      "\n",
      "\n",
      "\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '中国气象局-天气预报-城市预报- 上海', 'url': 'https://weather.cma.cn/web/weather/58367.html', 'content': '时间 23:00 02:00 05:00 08:00 11:00 14:00 17:00 20:00\\n天气Image 16Image 17Image 18Image 19Image 20Image 21Image 22Image 23\\n气温 31.1℃30.8℃30.6℃30.8℃31.1℃30.4℃29.4℃27.6℃\\n降水 0.2mm 无降水 无降水 0.5mm 1.2mm 1.8mm 7.3mm 1.2mm\\n风速 3.2m/s 3.3m/s 3m/s 3.3m/s 3.3m/s 3.3m/s 2.9m/s 2.7m/s\\n风向 东北风 东北风 西北风 西北风 东北风 西北风 西北风 西北风\\n气压 1008.9hPa 1007.9hPa 1007.9hPa 1009.5hPa 1009.4hPa 1008.4hPa 1009.3hPa 1010.1hPa\\n湿度 81.6%83.8%87.8%84.8%82.4%86%87%79.4%\\n云量 99.5%98.7%94.7%95.3%88.1%98.4%94.3%91.7% [...] 时间 08:00 11:00 14:00 17:00 20:00 23:00 02:00 05:00\\n天气Image 24Image 25Image 26Image 27Image 28Image 29Image 30Image 31\\n气温 30.8℃31.1℃30.4℃29.4℃27.6℃25.9℃25.7℃25.8℃\\n降水 0.5mm 1.2mm 1.8mm 7.3mm 1.2mm 0.6mm 0.6mm 0.6mm\\n风速 3.3m/s 3.3m/s 3.3m/s 2.9m/s 2.7m/s 3.1m/s 3.1m/s 3m/s\\n风向 西北风 东北风 西北风 西北风 西北风 西北风 西北风 东北风\\n气压 1009.5hPa 1009.4hPa 1008.4hPa 1009.3hPa 1010.1hPa 1010.1hPa 1009.7hPa 1010hPa\\n湿度 84.8%82.4%86%87%79.4%94.9%94.5%93.4%\\n云量 95.3%88.1%98.4%94.3%91.7%94.9%51.1%65% [...] 时间 08:00 11:00 14:00 17:00 20:00 23:00 02:00 05:00\\n天气Image 32Image 33Image 34Image 35Image 36Image 37Image 38Image 39\\n气温 28.1℃29.5℃30.8℃28.5℃27.6℃27.2℃26.6℃26.3℃\\n降水 无降水 无降水 2.4mm 1.5mm 0.1mm 无降水 无降水 0.1mm\\n风速 3.3m/s 3.1m/s 3.3m/s 3m/s 3m/s 3m/s 3.1m/s 3.1m/s\\n风向 东北风 东北风 东北风 东北风 东北风 东北风 东北风 东北风\\n气压 1011.7hPa 1011.7hPa 1010.3hPa 1010.5hPa 1011.7hPa 1012.2hPa 1011.6hPa 1011.8hPa\\n湿度 83.9%77%80.4%84.2%74%89.1%87.6%86.5%\\n云量 25.1%3.9%70%70%65%59.2%84.8%75.6%', 'score': 0.755078}, {'title': '预报- 上海 - 中国天气网', 'url': 'https://www.weather.com.cn/weather/101020100.shtml', 'content': '首页\\n预报\\n预警\\n雷达\\n云图\\n天气地图\\n专业产品\\n资讯\\n视频\\n节气\\n我的天空\\n\\n全国>\\n上海\\n>\\n城区\\n\\n07:30更新 | 数据来源 中央气象台\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n # 7日（今天）\\n\\n  36/27℃\\n\\n  <3级\\n # 8日（明天）\\n\\n  阴\\n\\n  36/27℃\\n\\n  <3级\\n # 9日（后天）\\n\\n  中雨转小雨\\n\\n  32/25℃\\n\\n  <3级\\n # 10日（周三）\\n\\n  中雨转小雨\\n\\n  31/25℃\\n\\n  <3级\\n # 11日（周四）\\n\\n  小雨转阴\\n\\n  32/26℃\\n\\n  <3级\\n # 12日（周五）\\n\\n  小雨转阴\\n\\n  33/27℃\\n\\n  <3级转3-4级\\n # 13日（周六）\\n\\n  中雨转小雨\\n\\n  32/26℃\\n\\n  3-4级转<3级\\n\\n分时段预报\\n生活指数\\n\\n蓝天预报\\n\\n### 蓝天预报综合天气现象、能见度、空气质量等因子，预测未来一周的天空状况。 [...] 天空蔚蓝\\n  可见透彻蓝天，或有蓝天白云美景。\\n 天空淡蓝\\n  天空不够清澈，以浅蓝色为主。\\n 天空阴沉\\n  阴天或有雨雪，天空灰暗。\\n 天空灰霾\\n  出现霾或沙尘，天空灰蒙浑浊。\\n\\n11时14时17时20时23时02时05时08时\\n\\n35℃36℃33℃31℃29℃28℃28℃31℃\\n\\n北风北风东北风西南风东风东风东南风南风\\n\\n<3级<3级<3级<3级<3级<3级<3级<3级\\n\\n 少发\\n  感冒指数\\n\\n  感冒机率较低，避免长期处于空调屋中。\\n 较不宜\\n  运动指数\\n\\n  请适当减少运动时间并降低运动强度。\\n 易发\\n  过敏指数\\n\\n  应减少外出，外出需采取防护措施。\\n 炎热\\n  穿衣指数\\n\\n  建议穿短衫、短裤等清凉夏季服装。)\\n 适宜\\n  洗车指数\\n\\n  天气较好，适合擦洗汽车。\\n 最弱\\n  紫外线指数\\n\\n  辐射弱，涂擦SPF8-12防晒护肤品。\\n\\n 少发\\n  感冒指数\\n\\n  感冒机率较低，避免长期处于空调屋中。\\n 较不宜\\n  运动指数\\n\\n  请适当减少运动时间并降低运动强度。\\n 易发\\n  过敏指数\\n\\n  应减少外出，外出需采取防护措施。\\n 炎热\\n  穿衣指数 [...] 建议穿短衫、短裤等清凉夏季服装。)\\n 不宜\\n  洗车指数\\n\\n  有雨，雨水和泥水会弄脏爱车。\\n 最弱\\n  紫外线指数\\n\\n  辐射弱，涂擦SPF8-12防晒护肤品。\\n\\n## 整点天气实况\\n\\n 空气质量\\n 温度\\n 相对湿度\\n 降水量\\n 风力风向\\n\\n过去24小时AQI最高值: 77\\n\\n最高气温: 36.8℃ , 最低气温: 28.5℃\\n\\n过去24小时最大相对湿度: 78%\\n\\n过去24小时最大风力: 2级\\n\\n过去24小时总降水量：0mm\\n\\n08091011121314151617181920212223000102030405060708\\n\\n39373533312927\\n\\n(h) ℃ (μg/m³) (%) (mm) (级)\\n\\n空气质量指数：简称AQI，是定量描述空气质量状况的无量纲指数。（数据由生态环境部提供）\\n\\n相对湿度：空气中实际水汽压与当时气温下的饱和水汽压之比，以百分比（%）表示。\\n\\n温度：表示大气冷热程度的物理量，气象上给出的温度是指离地面1.5米高度上百叶箱中的空气温度。\\n\\n降水量：某一时段内的未经蒸发、渗透、流失的降水，在水平面上积累的深度，以毫米（mm）为单位。', 'score': 0.7507177}, {'title': '预报- 上海 - 中国天气网', 'url': 'https://www.weather.com.cn/weather1d/101020100.shtml', 'content': '首页\\n预报\\n预警\\n雷达\\n云图\\n天气地图\\n专业产品\\n资讯\\n视频\\n节气\\n我的天空\\n\\n全国>\\n上海\\n>\\n城区\\n\\n18:00更新 | 数据来源 中央气象台\\n\\n 今天\\n 7天\\n 8-15天\\n 40天\\n 雷达图\\n\\n20:50 实况\\n\\n相对湿度80%\\n\\n北风0级\\n\\n29.4℃\\n\\n45优\\n\\n我的天空\\n\\n # 7日夜间\\n\\n  阴\\n\\n  27°C\\n\\n  <3级\\n\\n  日落 18:10\\n # 8日白天\\n\\n  阴\\n\\n  天空阴沉\\n\\n  ### 天预报综合天气现象、能见度、空气质量等因子，预测未来一周的天空状况。\\n\\n  + 天空蔚蓝\\n    可见透彻蓝天，或有蓝天白云美景\\n  + 天空淡蓝\\n    天空不够清澈，以浅蓝色为主\\n  + 天空阴沉\\n    阴天或有雨雪，天空灰暗\\n  + 天空灰霾\\n    出现霾或沙尘，天空灰蒙浑浊\\n\\n  36°C\\n\\n  <3级\\n\\n  日出 05:33\\n\\n23时02时05时08时11时14时17时20时\\n\\n28℃28℃29℃31℃35℃34℃31℃30℃\\n\\n东南风东南风东南风南风西南风南风北风北风\\n\\n<3级<3级<3级<3级<3级<3级<3级<3级\\n\\n## 整点天气实况 [...] 空气质量\\n 温度\\n 相对湿度\\n 降水量\\n 风力风向\\n\\n过去24小时AQI最高值: 113\\n\\n最高气温: 34.4℃ , 最低气温: 27.6℃\\n\\n过去24小时最大相对湿度: 87%\\n\\n过去24小时最大风力: 1级\\n\\n过去24小时总降水量：3.3mm\\n\\n20212223000102030405060708091011121314151617181920\\n\\n38363432302826\\n\\n(h) ℃ (μg/m³) (%) (mm) (级)\\n\\n空气质量指数：简称AQI，是定量描述空气质量状况的无量纲指数。（数据由生态环境部提供）\\n\\n相对湿度：空气中实际水汽压与当时气温下的饱和水汽压之比，以百分比（%）表示。\\n\\n温度：表示大气冷热程度的物理量，气象上给出的温度是指离地面1.5米高度上百叶箱中的空气温度。\\n\\n降水量：某一时段内的未经蒸发、渗透、流失的降水，在水平面上积累的深度，以毫米（mm）为单位。\\n\\n风力风向：空气的水平运动，风力是风吹到物体上所表示出力量的大小，风向指风的来向。\\n\\n优 良 轻度 中度 重度 严重\\n\\n# 生活指数\\n\\n 少发\\n  感冒指数', 'score': 0.7040996}]\u001B[0m\u001B[32;1m\u001B[1;3m今天（2023年10月10日）上海的天气情况如下：\n",
      "\n",
      "- **白天**：多云，最高气温约36℃，适宜户外活动。\n",
      "- **夜间**：阴，最低气温约27℃。\n",
      "- **风速**：风力较小，通常在1-3级。\n",
      "\n",
      "建议在高温时段注意防暑，适当补水。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "{'input': '上海的呢？', 'chat_history': [HumanMessage(content='查询今天北京的天气情况', additional_kwargs={}, response_metadata={}), AIMessage(content='今天（2023年10月10日）北京的天气情况如下：\\n\\n- **白天**：多云，最高气温约22℃，适宜户外活动。\\n- **夜间**：多云转晴，最低气温约10℃，山区最低气温在6到9℃之间。\\n- **风速**：北转南风，风力在1-3级。\\n\\n建议早晚出行时适当增加衣物，以防感冒。', additional_kwargs={}, response_metadata={}), HumanMessage(content='上海的呢？', additional_kwargs={}, response_metadata={}), AIMessage(content='今天（2023年10月10日）上海的天气情况如下：\\n\\n- **白天**：多云，最高气温约36℃，适宜户外活动。\\n- **夜间**：阴，最低气温约27℃。\\n- **风速**：风力较小，通常在1-3级。\\n\\n建议在高温时段注意防暑，适当补水。', additional_kwargs={}, response_metadata={})], 'output': '今天（2023年10月10日）上海的天气情况如下：\\n\\n- **白天**：多云，最高气温约36℃，适宜户外活动。\\n- **夜间**：阴，最低气温约27℃。\\n- **风速**：风力较小，通常在1-3级。\\n\\n建议在高温时段注意防暑，适当补水。'}\n"
     ]
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "# 2、使用ReAct模式\n",
    "\n",
    "举例1：使用网络上现成的提示词模板结构\n"
   ],
   "id": "7e8a4d666943d4d9"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-09T07:35:22.521984Z",
     "start_time": "2025-09-09T07:35:15.927026Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from langchain import hub\n",
    "from langchain.agents import create_react_agent\n",
    "from langchain_core.prompts import ChatPromptTemplate\n",
    "# 获取Tavily搜索的实例\n",
    "from langchain_openai import ChatOpenAI\n",
    "from langchain.agents import initialize_agent, AgentType, create_tool_calling_agent, AgentExecutor\n",
    "from langchain.tools import Tool\n",
    "import os\n",
    "import dotenv\n",
    "from langchain_openai import ChatOpenAI\n",
    "from langchain_community.tools.tavily_search import TavilySearchResults\n",
    "dotenv.load_dotenv()\n",
    "\n",
    "# 读取配置文件的信息\n",
    "os.environ['TAVILY_API_KEY'] = \"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\"\n",
    "\n",
    "# 获取Tavily搜索工具的实例\n",
    "search = TavilySearchResults(max_results=3)\n",
    "\n",
    "# 获取一个搜索的工具\n",
    "# 使用Tool\n",
    "search_tool = Tool(\n",
    "    func=search.run,\n",
    "    name=\"Search\",\n",
    "    description=\"用于检索互联网上的信息\",\n",
    ")\n",
    "\n",
    "\n",
    "# 获取大语言模型\n",
    "os.environ['OPENAI_API_KEY'] = os.getenv(\"OPENAI_API_KEY1\")\n",
    "os.environ['OPENAI_BASE_URL'] = os.getenv(\"OPENAI_BASE_URL\")\n",
    "llm = ChatOpenAI(\n",
    "    model=\"gpt-4o-mini\",\n",
    "    temperature=0,\n",
    ")\n",
    "# 使用LangChain Hub中的官方ReAct提示模板\n",
    "prompt_template = hub.pull(\"hwchase17/react-chat\")\n",
    "\n",
    "# 提供记忆的实例\n",
    "memory = ConversationBufferMemory(\n",
    "    return_messages=True,\n",
    "    memory_key=\"chat_history\",\n",
    ")\n",
    "\n",
    "# 获取Agent的实例：create_react_agent()\n",
    "agent = create_react_agent(\n",
    "    llm=llm,\n",
    "    prompt=prompt_template,\n",
    "    tools=[search_tool]\n",
    ")\n",
    "\n",
    "# 获取AgentExecutor的实例\n",
    "agent_executor = AgentExecutor(\n",
    "    agent=agent,\n",
    "    tools=[search_tool],\n",
    "    verbose=True,\n",
    "    memory=memory,\n",
    ")\n",
    "\n",
    "\n",
    "# 通过AgentExecutor的实例调用invoke(),得到响应\n",
    "result = agent_executor.invoke({\"input\":\"查询2025年9月9日北京的天气情况\"})\n",
    "\n",
    "# 处理响应\n",
    "print(result)\n"
   ],
   "id": "a1a8416ad12ee89f",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\developTools\\miniconda3\\envs\\pyth310\\lib\\site-packages\\langsmith\\client.py:272: LangSmithMissingAPIKeyWarning: API key must be provided when using hosted LangSmith API\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m```\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: Search\n",
      "Action Input: 2025年9月9日 北京 天气情况\n",
      "```\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '今天白天北京晴转阴傍晚有雷阵雨需防范强对流天气 - 资讯', 'url': 'http://news.weather.com.cn/2025/09/4325408.shtml', 'content': '首页\\n预报\\n预警\\n雷达\\n云图\\n天气地图\\n专业产品\\n资讯\\n视频\\n节气\\n我的天空\\n\\n今天白天北京晴转阴傍晚有雷阵雨 需防范强对流天气\\n\\n2025-09-09 07:06:05\\n来源：\\n中国天气网\\n\\n字号\\n\\n 大\\n 中\\n 小\\n\\n分享到\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n原创未经授权不得转载\\n\\n中国天气网讯 今天（9月9日）白天，北京天气晴转阴，傍晚有雷阵雨出没，部分地区可能伴有大风、冰雹和短时强降水，降雨天气或不利晚高峰出行，公众需注意防范。\\n\\n昨天，北京晴朗天气唱主调，紫外线强烈，大部地区最高气温在30至31℃，适宜进行户外活动。\\n\\n今晨，北京以晴为主。（图/中国天气网王晓）\\n\\n北京市气象台预计，今天白天晴转阴，傍晚有雷阵雨，北转南风二三级，最高气温30℃；夜间阴转多云，南转北风一二级，最低气温21℃。\\n\\n明天，北京以多云天气为主，气温变化不大，中午时段体感较热，早晚较舒适。\\n\\n气象部门提醒，今天傍晚前后，北京将有雷阵雨，部分地区可能伴有大风、冰雹和短时强降水，建议公众关注临近预报预警信息，随身携带雨具，注意防雷避雨。 [...] 南方高温缩减北方昼夜温差加大 明起新一轮降雨过程来袭\\n\\n明（9月10日）起四川盆地至西北地区东部、华北南部、黄淮等地将迎来新一轮降雨过程。南方高温天气继续缩减，将所剩无几，北方多地昼夜温差逐渐加大。\\n\\n 中国天气网\\n 2025-09-09 07:59\\n 分享\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n今天白天北京晴转阴傍晚有雷阵雨 需防范强对流天气\\n\\n今天（9月9日）白天，北京天气晴转阴，傍晚有雷阵雨出没，部分地区可能伴有大风、冰雹和短时强降水，降雨天气或不利晚高峰出行，公众需注意防范。\\n\\n 中国天气网\\n 2025-09-09 07:06\\n 分享\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n暴雨黄色预警：广东云南等地部分地区有大到暴雨 广西局地大暴雨\\n\\n中央气象台9月9日06时继续发布暴雨黄色预警。\\n\\n 中国天气网\\n 2025-09-09 07:00\\n 分享\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n好看！北京金色晚霞惊艳天空 [...] 编辑：杜冰冰\\n\\n分享到\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n查天气 关注 “中国天气网” 微信公众号、“中国天气”微博、“中国天气”抖音\\n\\n最新推荐\\n\\n广西今天仍将有强风雨天气 柳州来宾等地有大到暴雨局地大暴雨\\n\\n广西今天（9月9日）仍将有强风雨天气，柳州、来宾等地有大到暴雨，局地大暴雨，部分地区阵风7～8级。\\n\\n 中国天气网\\n 2025-09-09 09:50\\n 分享\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n中央气象台9月9日06时继续发布暴雨黄色预警\\n\\n中央气象台9月9日06时继续发布暴雨黄色预警\\n\\n 中国天气网\\n 2025-09-09 09:14\\n 分享\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。\\n\\n9月9日全国航空天气预报\\n\\n9月9日全国航空天气预报。\\n\\n 中国天气\\n 2025-09-09 08:00\\n 分享\\n\\n#### 微信扫一扫：分享\\n\\n微信里点“发现”，扫一下\\n\\n二维码便可将本文分享至朋友圈。', 'score': 0.9344013}, {'title': '北京首都国际机场、中國2025年9月的歷史天氣 - Weather Spark', 'url': 'https://tw.weatherspark.com/h/m/149205/2025/9/%E5%8C%97%E4%BA%AC%E9%A6%96%E9%83%BD%E5%9B%BD%E9%99%85%E6%9C%BA%E5%9C%BA%E3%80%81%E4%B8%AD%E5%9C%8B2025%E5%B9%B49%E6%9C%88%E6%AD%B7%E5%8F%B2%E5%A4%A9%E6%B0%A3', 'content': '40% 多雲   60% 多雲時陰   80% 陰天   100%  無顯著性云未偵測到雲雲幕及能見度良好  每小時報告的雲量，按天空的雲覆蓋百分比分類。    北京首都国际机场 2025年9月觀測天氣 2025年年秋季  連結  下載  比較  平均值  歷史：123456789月1011122024年2023年2022年2021年    霧霾毛毛雨小雨中雨大雨凍雨霰雪粒微雪中雪大雪雹雷雨  按類別進行色彩編碼的每小時觀測天氣（按嚴重程度排序）。 若有多項報告則顯示最嚴重的代碼。  | 日間 | 觀察 | 降水 | 代碼 |  ---  --- | | 9月3日 週三 | Mist |  | BR | | 9月4日 週四 | Mist |  | BR | | 9月5日 週五 | Light Rain、Mist |  | -RA、BR |  北京首都国际机场 2025年9月的日照和曙暮光小時數 2025年年秋季  連結  下載  比較  平均值  歷史：123456789月1011122024年2023年2022年2021年    太陽可見的小時數（黑線）。 [...] 下午3:05 | S | 405,540 公里 | | 27日 |  | 26% | 上午11:23 | SE | 下午8:25 | SW  | 下午3:54 | S | 405,079 公里 | | 28日 |  | 35% | 下午12:23 | SE | 下午9:08 | SW  | 下午4:45 | S | 403,370 公里 | | 29日 |  | 44% | 下午1:19 | SE | 下午9:59 | SW  | 下午5:39 | S | 400,364 公里 | | 30日 |  | 50% | 下午2:08 | SE | 下午10:59 | SW  | 下午6:34 | S | 396,120 公里 |  北京首都国际机场 2025年9月的濕度舒適等級 2025年年秋季  連結  下載  比較  平均值  歷史：123456789月1011122024年2023年2022年2021年    乾燥   13°C 舒適   16°C 潮濕   18°C 悶熱   21°C 沈悶   24°C 令人難受  按露點分類的每小時報告的濕度舒適等級。 [...] S | 365,766 公里 | | 13日 |  | 68%  | 下午12:24 | NW | 下午9:28 | NE | 上午4:29 | S | 367,751 公里 | | 14日 |  | 50%  | 下午1:37 | NW | 下午10:22 | NE | 上午5:30 | S | 370,497 公里 | | 15日 |  | 44%  | 下午2:40 | NW | 下午11:26 | NE | 上午6:31 | S | 373,734 公里 | | 16日 |  | 33%  | 下午3:32 | NW  | 上午7:32 | S | 377,234 公里 | | 17日 |  | 23% | 上午12:36 | NE | 下午4:12 | 西北西  | 上午8:28 | S | 380,843 公里 | | 18日 |  | 14% | 上午1:47 | 東北東 | 下午4:45 | 西北西  | 上午9:21 | S | 384,468 公里 | | 19日 |  | 8% | 上午2:57 | 東北東 | 下午5:11 | 西北西  | 上午10:08 |', 'score': 0.898277}, {'title': '北京九月, 2025 天气⋆ 北京(中国) 九月天气预报⋆ METEOPROG', 'url': 'https://www.meteoprog.com/cn/weather/Beijing/month/september/', 'content': '今天\\n 2周\\n 每月\\n 每小时\\n\\n# 北京 九月, 2025 天气\\n\\n 30天\\n 9月\\n 10月\\n 11月\\n 12月\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n\\n1 九月\\n\\n+28°+20°\\n\\n2 九月\\n\\n+28°+18°\\n\\n3 九月\\n\\n+29°+18°\\n\\n4 九月\\n\\n+29°+18°\\n\\n5 九月\\n\\n+29°+18°\\n\\n6 九月\\n\\n+29°+19°\\n\\n7 九月\\n\\n+29°+18°\\n\\n8 九月\\n\\n+28°+18°\\n\\n9 九月\\n\\n+28°+18°\\n\\n10 九月\\n\\n+26°+17°\\n\\n11 九月\\n\\n+27°+17°\\n\\n12 九月\\n\\n+27°+17°\\n\\n13 九月\\n\\n+28°+18°\\n\\n14 九月\\n\\n+28°+17°\\n\\n15 九月\\n\\n+28°+17°\\n\\n16 九月\\n\\n+27°+16°\\n\\n17 九月\\n\\n+25°+15°\\n\\n18 九月\\n\\n+26°+15°\\n\\n19 九月\\n\\n+26°+14°\\n\\n20 九月\\n\\n+27°+15°\\n\\n21 九月\\n\\n+26°+15°\\n\\n22 九月\\n\\n+26°+15°\\n\\n23 九月\\n\\n+25°+15°\\n\\n24 九月\\n\\n+26°+15°\\n\\n25 九月 [...] +26°+14°\\n\\n26 九月\\n\\n+26°+14°\\n\\n27 九月\\n\\n+25°+14°\\n\\n28 九月\\n\\n+23°+13°\\n\\n29 九月\\n\\n+23°+12°\\n\\n30 九月\\n\\n+23°+13°\\n\\n1 十月\\n\\n+23°+12°\\n\\n2 十月\\n\\n+23°+12°\\n\\n3 十月\\n\\n+24°+11°\\n\\n4 十月\\n\\n+22°+11°\\n\\n5 十月\\n\\n+23°+11°\\n\\n\\\\ 天气预报是根据过去 70 年的历史数据计算得出的\\n\\n## 九月 在 北京\\n\\n最大限度。 温度\\n+36,7°C\\n\\n分钟。 温度\\n+4,9°C\\n\\n月降水量\\n101,48毫米\\n\\n风速\\n16,78米/秒\\n\\n 最大限度。 温度\\n 分钟。 温度\\n\\n## 其他地区预测\\n\\n中国\\n世界\\n\\n上海\\n\\n+34°\\n\\n重庆\\n\\n+24°\\n\\n北京\\n\\n+31°\\n\\n成都\\n\\n+20°\\n\\n广州\\n\\n+35°\\n\\n深圳\\n\\n+32°\\n\\n天津\\n\\n+30°\\n\\n西安\\n\\n+21°\\n\\n武汉\\n\\n+30°\\n\\n杭州\\n\\n+33°\\n\\n东莞市\\n\\n+35°\\n\\n青岛市\\n\\n+29°\\n\\n哈尔滨\\n\\n+17°\\n\\n佛山市\\n\\n+35°\\n\\n合肥\\n\\n+27°\\n\\n南京\\n\\n+27°\\n\\n沈阳\\n\\n+27°\\n\\n南充\\n\\n+29°', 'score': 0.86331123}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? No  \n",
      "Final Answer: 2025年9月9日，北京的天气预报显示白天晴转阴，傍晚可能会有雷阵雨，部分地区可能伴有大风、冰雹和短时强降水。预计最高气温为30℃，夜间最低气温为21℃。公众需注意防范强对流天气，建议携带雨具以应对可能的降雨。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "{'input': '查询2025年9月9日北京的天气情况', 'chat_history': [HumanMessage(content='查询2025年9月9日北京的天气情况', additional_kwargs={}, response_metadata={}), AIMessage(content='2025年9月9日，北京的天气预报显示白天晴转阴，傍晚可能会有雷阵雨，部分地区可能伴有大风、冰雹和短时强降水。预计最高气温为30℃，夜间最低气温为21℃。公众需注意防范强对流天气，建议携带雨具以应对可能的降雨。', additional_kwargs={}, response_metadata={})], 'output': '2025年9月9日，北京的天气预报显示白天晴转阴，傍晚可能会有雷阵雨，部分地区可能伴有大风、冰雹和短时强降水。预计最高气温为30℃，夜间最低气温为21℃。公众需注意防范强对流天气，建议携带雨具以应对可能的降雨。'}\n"
     ]
    }
   ],
   "execution_count": 28
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-09T07:35:52.436998Z",
     "start_time": "2025-09-09T07:35:46.237047Z"
    }
   },
   "cell_type": "code",
   "source": [
    "result = agent_executor.invoke({\"input\":\"上海的呢？\"})\n",
    "\n",
    "print(result)"
   ],
   "id": "87aa07fe4b42478c",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m```\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: Search\n",
      "Action Input: \"2025年9月9日 上海 天气预报\"\n",
      "```\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '中国上海2025年9月的天气历史中国', 'url': 'https://zh.weatherspark.com/h/m/137446/2025/9/2025%E5%B9%B49%E6%9C%88-%E4%B8%AD%E5%9B%BD%E3%80%81%E4%B8%AD%E5%9B%BD%E4%B8%8A%E6%B5%B7-%E7%9A%84%E5%8E%86%E5%8F%B2%E5%A4%A9%E6%B0%94', 'content': '60% 大部分多云   80% 阴天   100%  无重要云未检测到云晴空万里  每小时所报告的云彩覆盖，以天空的云彩覆盖百分比分类。    2025年9月中国上海的观察天气 2025年年秋季  链接  下载  比较  平均值  历史：123456789月1011122024年2023年2022年2021年    雾薄雾细雨小雨中雨大雨冻雨雨夹雪雪粒小雪中雪大雪冰雹雷雨  每小时观察到的天气，按类型着色（按严重程度的排序）。 如果存在多项报告，将显示最严重的代码。  | 白天 | 观察 | 降水 | 代码 |  ---  --- | | 9月1日周一 | Recent Thunderstorm、Thunderstorm、Thunderstorm with Heavy Rain、Thunderstorm with Rain、Recent Showers of Rain、Showers of Rain、Showers of Light Rain |  | RETS、TS、+TSRA、TSRA、RESHRA、SHRA、-SHRA | | 9月2日周二 | Recent [...] | 28日 |  | 34% | 上午11:31 | 东南偏东 | 下午9:21 | 西南偏西  | 下午4:25 | 南 | 403,402公里 | | 29日 |  | 44% | 下午12:25 | 东南 | 下午10:12 | 西南  | 下午5:19 | 南 | 400,413公里 | | 30日 |  | 50% | 下午1:16 | 东南偏东 | 下午11:09 | 西南偏西  | 下午6:13 | 南 | 396,186公里 |  2025年9月 中国上海的湿度舒适水平 2025年年秋季  链接  下载  比较  平均值  历史：123456789月1011122024年2023年2022年2021年    干燥   13°C 舒适   16°C 潮湿   18°C 闷热   21°C 闷热难受   24°C 极为难受  每小时报告的湿度舒适水平，按露点分类。 阴影叠加表示夜晚和民用曙光/暮光。  2025年9月中国上海的风速 2025年年秋季  链接  下载  比较  平均值  历史：123456789月1011122024年2023年2022年2021年 [...] | 中国上海2025年9月的天气历史 中国 此报告的数据来自上海虹桥国际机场。 查看附近所有的气象站  最新报告 — 下午2:00 2025年9月7日周日    16分钟之前    UTC 06:00  呼号 ZSSS  温度  36°C 酷热   |  |  |  --- | | 露点 | 26°C  极为难受 | | 相对湿度 | 57% |  降水  无报告  刮风  7.2每小时公里 二级风  云量  部分多云  1,219米   |  |  |  --- | | 能见度 | 10.00公里 | | 海拔 | 1,008毫巴 |  原始：ZSSS 070600Z VRB02MPS 9999 SCT040 36/26 Q1008 NOSIG  此报告显示中国上海的过去天气，提供了2025年9月的天气历史。 它突出了我们所有的可用历史天气数据序列，包括中国上海2025年9月的温度历史。 您可以通过点击图表，从年份深化至一个具体的月份，甚至具体的一天的报告。  中国上海2025年9月的温度历史 2025年年秋季  链接  下载  比较  平均值', 'score': 0.8674071}, {'title': '上海2025年9月历史天气', 'url': 'https://tianqi.2345.com/wea_history/58362.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n9月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：34°    平均低温：27°\\n 极端高温：37°(2025-09-06)\\n 极端低温：26°(2025-09-02)\\n 平均空气质量指数：38\\n 空气最好：29 优(09月02日)\\n 空气最差：66良(09月07日) [...] | 日期 | 最高温 | 最低温 | 天气 | 风力风向 | 空气质量指数 |\\n ---  ---  --- |\\n| 2025-09-01 周一 | 35° | 26° | 暴雨~小雨 | 东北风1级 | 36 优 |\\n| 2025-09-02 周二 | 32° | 26° | 大雨~小雨 | 东南风2级 | 29 优 |\\n| 2025-09-03 周三 | 33° | 26° | 阴 | 东南风2级 | 30 优 |\\n| 2025-09-04 周四 | 33° | 27° | 小雨~多云 | 东南风2级 | 29 优 |\\n| 2025-09-05 周五 | 36° | 27° | 阴~多云 | 东南风3级 | 40 优 |\\n| 2025-09-06 周六 | 37° | 27° | 阴~多云 | 西南风2级 | 38 优 |\\n| 2025-09-07 周日 | 34° | 27° | 小雨~阴 | 东北风2级 | 66 良 |\\n\\n上一月\\n下一月\\n\\n## 上海市下辖地区天气 [...] A 阿德拉尔\\n A 阿尔及尔\\n A 阿尔泽\\n A 埃尔果累阿\\n A 艾格瓦特\\n A 艾因塞夫拉\\n A 阿纳巴\\n A 安纳巴\\n A 奥兰\\n A 奥兰港\\n B 巴里卡\\n B 巴特纳\\n B 贝贾亚\\n B 贝贾亚港\\n B 贝贾亚机场\\n B 贝尼阿巴斯\\n B 贝尼萨夫\\n B 贝沙尔\\n B 比斯克拉\\n B 布阿拉里季堡\\n B 布维拉\\n D 代利斯\\n G 盖尔达耶\\n G 盖勒马\\n J 加达亚\\n J 加莱\\n J 贾奈特\\n J 加扎乌埃特\\n J 杰勒法\\n J 吉杰勒港\\n J 吉杰勒机场\\n J 君士坦丁\\n M 迈舍里耶\\n M 米利亚纳\\n M 穆斯塔加奈姆\\n M 姆西拉\\n N 纳马\\n S 赛达\\n S 塞提夫\\n S 斯基克达\\n S 苏克阿赫拉斯\\n T 泰贝萨\\n T 塔曼拉塞特\\n T 塔希费特\\n T 特莱姆森赞塔那机场\\n T 特内斯\\n T 提济乌祖\\n T 提米蒙\\n T 提奈斯\\n T 廷杜夫\\n T 提亚雷特\\n T 图古尔特\\n W 瓦尔格拉\\n X 西迪贝勒阿巴斯\\n X 谢利夫\\n Y 伊利济\\n Y 伊利齐\\n Y 英盖扎姆\\n Y 英纳梅那斯\\n Y 因萨拉赫\\n\\n确定\\n取消\\n\\n2025年', 'score': 0.8443195}, {'title': '上海九月, 2025 天气', 'url': 'https://www.meteoprog.com/cn/weather/Szanghaj/month/september/', 'content': \"今天\\n 2周\\n 每月\\n 每小时\\n\\n# 上海 九月, 2025 天气\\n\\n 30天\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n\\n1 九月\\n\\n+29°+24°\\n\\n2 九月\\n\\n+30°+25°\\n\\n3 九月\\n\\n+30°+24°\\n\\n4 九月\\n\\n+29°+24°\\n\\n5 九月\\n\\n+29°+24°\\n\\n6 九月\\n\\n+29°+23°\\n\\n7 九月\\n\\n+28°+23°\\n\\n8 九月\\n\\n+29°+24°\\n\\n9 九月\\n\\n+29°+24°\\n\\n10 九月\\n\\n+29°+24°\\n\\n11 九月\\n\\n+28°+24°\\n\\n12 九月\\n\\n+28°+23°\\n\\n13 九月\\n\\n+28°+23°\\n\\n14 九月\\n\\n+28°+23°\\n\\n15 九月\\n\\n+27°+23°\\n\\n16 九月\\n\\n+28°+22°\\n\\n17 九月\\n\\n+28°+22°\\n\\n18 九月\\n\\n+27°+22°\\n\\n19 九月\\n\\n+27°+22°\\n\\n20 九月\\n\\n+27°+22°\\n\\n21 九月\\n\\n+27°+22°\\n\\n22 九月\\n\\n+25°+20°\\n\\n23 九月\\n\\n+26°+20°\\n\\n24 九月\\n\\n+27°+21°\\n\\n25 九月 [...] Deutsch\\n English\\n Español\\n Français\\n Hrvatski\\n Indonesia\\n Latviešu\\n Lietuvių\\n Magyar\\n Nederlands\\n O'zbek\\n Português\\n Polski\\n Romnă\\n Slovenský\\n Suomi\\n Svenska\\n Türkçe\\n Čeština\\n Ελληνική\\n Български\\n Српски\\n Русский\\n Українська\\n عربي\\n 汉语\\n\\n阴, 小雨 [...] +26°+21°\\n\\n26 九月\\n\\n+26°+22°\\n\\n27 九月\\n\\n+27°+22°\\n\\n28 九月\\n\\n+26°+21°\\n\\n29 九月\\n\\n+25°+20°\\n\\n30 九月\\n\\n+25°+19°\\n\\n1 十月\\n\\n+25°+20°\\n\\n2 十月\\n\\n+26°+19°\\n\\n3 十月\\n\\n+25°+19°\\n\\n4 十月\\n\\n+25°+18°\\n\\n5 十月\\n\\n+24°+18°\\n\\n\\\\ 天气预报是根据过去 70 年的历史数据计算得出的\\n\\n## 九月 在 上海\\n\\n最大限度。 温度\\n+37°C\\n\\n分钟。 温度\\n+12,1°C\\n\\n月降水量\\n102,88毫米\\n\\n风速\\n27,35米/秒\\n\\n 最大限度。 温度\\n 分钟。 温度\\n\\n## 其他地区预测\\n\\n中国\\n世界\\n\\n上海\\n\\n+30°\\n\\n重庆\\n\\n+28°\\n\\n北京\\n\\n+25°\\n\\n成都\\n\\n+20°\\n\\n广州\\n\\n+33°\\n\\n深圳\\n\\n+29°\\n\\n天津\\n\\n+26°\\n\\n西安\\n\\n+20°\\n\\n武汉\\n\\n+31°\\n\\n杭州\\n\\n+31°\\n\\n东莞市\\n\\n+31°\\n\\n青岛市\\n\\n+28°\\n\\n哈尔滨\\n\\n+23°\\n\\n佛山市\\n\\n+33°\\n\\n合肥\\n\\n+27°\\n\\n南京\\n\\n+31°\\n\\n沈阳\\n\\n+22°\\n\\n南充\\n\\n+29°\", 'score': 0.8266142}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? No\n",
      "Final Answer: 2025年9月9日，上海的天气预报显示白天多云，夜间可能有小雨。预计最高气温为29℃，最低气温为24℃。公众需注意天气变化，适时携带雨具以应对可能的降雨。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "{'input': '上海的呢？', 'chat_history': [HumanMessage(content='查询2025年9月9日北京的天气情况', additional_kwargs={}, response_metadata={}), AIMessage(content='2025年9月9日，北京的天气预报显示白天晴转阴，傍晚可能会有雷阵雨，部分地区可能伴有大风、冰雹和短时强降水。预计最高气温为30℃，夜间最低气温为21℃。公众需注意防范强对流天气，建议携带雨具以应对可能的降雨。', additional_kwargs={}, response_metadata={}), HumanMessage(content='上海的呢？', additional_kwargs={}, response_metadata={}), AIMessage(content='2025年9月9日，上海的天气预报显示白天多云，夜间可能有小雨。预计最高气温为29℃，最低气温为24℃。公众需注意天气变化，适时携带雨具以应对可能的降雨。', additional_kwargs={}, response_metadata={})], 'output': '2025年9月9日，上海的天气预报显示白天多云，夜间可能有小雨。预计最高气温为29℃，最低气温为24℃。公众需注意天气变化，适时携带雨具以应对可能的降雨。'}\n"
     ]
    }
   ],
   "execution_count": 29
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "举例2：自定义提示词模板",
   "id": "c7c5fdb0b332eac5"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-09T07:41:24.036074Z",
     "start_time": "2025-09-09T07:41:16.852098Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from langchain import hub\n",
    "from langchain.agents import create_react_agent\n",
    "from langchain_core.prompts import ChatPromptTemplate\n",
    "# 获取Tavily搜索的实例\n",
    "from langchain_openai import ChatOpenAI\n",
    "from langchain.agents import initialize_agent, AgentType, create_tool_calling_agent, AgentExecutor\n",
    "from langchain.tools import Tool\n",
    "import os\n",
    "import dotenv\n",
    "from langchain_openai import ChatOpenAI\n",
    "from langchain_community.tools.tavily_search import TavilySearchResults\n",
    "dotenv.load_dotenv()\n",
    "\n",
    "# 读取配置文件的信息\n",
    "os.environ['TAVILY_API_KEY'] = \"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\"\n",
    "\n",
    "# 获取Tavily搜索工具的实例\n",
    "search = TavilySearchResults(max_results=3)\n",
    "\n",
    "# 获取一个搜索的工具\n",
    "# 使用Tool\n",
    "search_tool = Tool(\n",
    "    func=search.run,\n",
    "    name=\"Search\",\n",
    "    description=\"用于检索互联网上的信息\",\n",
    ")\n",
    "\n",
    "\n",
    "# 获取大语言模型\n",
    "os.environ['OPENAI_API_KEY'] = os.getenv(\"OPENAI_API_KEY1\")\n",
    "os.environ['OPENAI_BASE_URL'] = os.getenv(\"OPENAI_BASE_URL\")\n",
    "llm = ChatOpenAI(\n",
    "    model=\"gpt-4o-mini\",\n",
    "    temperature=0,\n",
    ")\n",
    "# 自定义提示词模板\n",
    "template = \"\"\"Assistant is a large language model trained by OpenAI.\n",
    "\n",
    "Assistant is designed to be able to assist with a wide range of tasks, from answering simple questions to providing in-depth explanations and discussions on a wide range of topics. As a language model, Assistant is able to generate human-like text based on the input it receives, allowing it to engage in natural-sounding conversations and provide responses that are coherent and relevant to the topic at hand.\n",
    "\n",
    "Assistant is constantly learning and improving, and its capabilities are constantly evolving. It is able to process and understand large amounts of text, and can use this knowledge to provide accurate and informative responses to a wide range of questions. Additionally, Assistant is able to generate its own text based on the input it receives, allowing it to engage in discussions and provide explanations and descriptions on a wide range of topics.\n",
    "\n",
    "Overall, Assistant is a powerful tool that can help with a wide range of tasks and provide valuable insights and information on a wide range of topics. Whether you need help with a specific question or just want to have a conversation about a particular topic, Assistant is here to assist.\n",
    "\n",
    "TOOLS:\n",
    "------\n",
    "\n",
    "Assistant has access to the following tools:\n",
    "\n",
    "{tools}\n",
    "\n",
    "To use a tool, please use the following format:\n",
    "\n",
    "```\n",
    "Thought: Do I need to use a tool? Yes\n",
    "Action: the action to take, should be one of [{tool_names}]\n",
    "Action Input: the input to the action\n",
    "Observation: the result of the action\n",
    "```\n",
    "\n",
    "When you have a response to say to the Human, or if you do not need to use a tool, you MUST use the format:\n",
    "\n",
    "```\n",
    "Thought: Do I need to use a tool? No\n",
    "Final Answer: [your response here]\n",
    "```\n",
    "\n",
    "Begin!\n",
    "\n",
    "Previous conversation history:\n",
    "{chat_history}\n",
    "\n",
    "New input: {input}\n",
    "{agent_scratchpad}\n",
    "\"\"\"\n",
    "prompt_template = PromptTemplate.from_template(\n",
    "    template=template,\n",
    ")\n",
    "\n",
    "# 提供记忆的实例\n",
    "memory = ConversationBufferMemory(\n",
    "    return_messages=True,\n",
    "    memory_key=\"chat_history\",\n",
    ")\n",
    "\n",
    "# 获取Agent的实例：create_react_agent()\n",
    "agent = create_react_agent(\n",
    "    llm=llm,\n",
    "    prompt=prompt_template,\n",
    "    tools=[search_tool]\n",
    ")\n",
    "\n",
    "# 获取AgentExecutor的实例\n",
    "agent_executor = AgentExecutor(\n",
    "    agent=agent,\n",
    "    tools=[search_tool],\n",
    "    verbose=True,\n",
    "    memory=memory,\n",
    "    handle_parsing_errors=True,\n",
    ")\n",
    "\n",
    "\n",
    "# 通过AgentExecutor的实例调用invoke(),得到响应\n",
    "result = agent_executor.invoke({\"input\":\"查询2025年9月9日北京的天气情况\"})\n",
    "\n",
    "# 处理响应\n",
    "print(result)\n"
   ],
   "id": "49016c6a6ab09955",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m```\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: Search\n",
      "Action Input: \"Beijing weather September 9 2025\"\n",
      "```\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': 'Beijing weather in September 2025', 'url': 'https://www.weather25.com/asia/china/shanxi/beijing?page=month&month=September', 'content': '## The average weather in Beijing in September\\n\\nThe temperatures in Beijing in September are comfortable with low of 62°F and and high up to 82°F.\\n\\nYou can expect about 3 to 8 days of rain in Beijing during the month of September. It’s a good idea to bring along your umbrella so that you don’t get caught in poor weather.\\n\\nOur weather forecast can give you a great sense of what weather to expect in Beijing in September 2025. [...] If you’re planning to visit Beijing in the near future, we highly recommend that you review the 14 day weather forecast for Beijing before you arrive.\\n\\nTemperatures\\n\\n82° / 62°\\n\\nRainy Days\\n\\n3\\n\\nSnowy Days\\n\\n0\\n\\nDry Days\\n\\n27\\n\\nRainfall\\n\\n2.32\\n\\nin\\n\\nSun Hours\\n\\n11.0\\n\\nHrs\\n\\nHistoric average weather for September\\n\\nSeptember [...] | 28  82° /64° | 29  82° /62° | 30  77° /62° |  |  |  |  |', 'score': 0.9537642}, {'title': 'Weather in Beijing in September 2025 - Tripvenue', 'url': 'https://tripvenue.com/weather/china/l1816670/beijing/september', 'content': '| Sunshine duration (h) | 10 | 9.3 | 11.3 | 11.2 | 10.8 | 11.3 | 11 | 2.3 | 0 | 5.4 | 9.6 | 11.2 | 11 | 11.1 | 11 | 10.4 | 9.2 | 10 | 2.6 | 9.3 | 10.4 | 10 | 8.3 | 1 | 4.7 | 6.5 | 7.2 | 8.6 | 9.6 | 10.1 |\\n| Precipitation (mm) | 0 | 3 | 0 | 0 | 1.1 | 0 | 0.2 | 38.2 | 28.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | [...] | Precipitation hours | 0 | 5 | 0 | 0 | 5 | 0 | 1 | 14 | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |\\n| Wind speed (m/s) | 11.4 | 17.2 | 9.7 | 7.9 | 8.6 | 11.9 | 18 | 14.1 | 13.9 | 9.7 | 15.5 | 9.7 | 13.6 | 16.6 | 16.9 | 10.3 | 16.9 | 15.9 | 17.1 | 10.5 | 15.9 | 22.3 | 9.5 | 7.1 | 9.7 | 13.8 | 17.3 | 14.1 | 19.7 | 16.3 | [...] | Apparent mean temperature | 21.7 | 21.9 | 23.6 | 25.7 | 25.1 | 24.5 | 26 | 24.4 | 22 | 20.8 | 17.7 | 15.5 | 16.6 | 15.2 | 18 | 19.9 | 19.6 | 14.5 | 12.8 | 13.1 | 15.8 | 15.1 | 13.7 | 13.1 | 15.5 | 17.4 | 9.2 | 11.8 | 10.3 | 7.3 |\\n| Minimum temperature | 19.3 | 19.2 | 20.5 | 21.8 | 21.3 | 21.5 | 22.4 | 21.9 | 19.6 | 18.6 | 17.7 | 15.6 | 15.8 | 14.9 | 16.9 | 18.3 | 17.7 | 16.7 | 13.5 | 13.5 | 15.4 | 15.7 | 13.9 | 13.2 | 14.8 | 16 | 11.7 | 12.7 | 12.8 | 9.6 |', 'score': 0.9520821}, {'title': 'Beijing weather in September 2025 | China: How hot?', 'url': 'https://www.weather2travel.com/china/beijing/september/', 'content': '# Beijing weather in September 2025\\n\\nExpect  daytime maximum temperatures of 26°C in Beijing, China in September based on long-term weather averages. There are 8 hours of sunshine per day on average with typically 42 mm of rainfall in the month.\\n\\n 26°C max day temperature\\n 8 hours of sunshine per day\\n 7 days with some rainfall\\n 14°C min night temperature\\n 12\\n\\n  12 hours of daylight per day\\n L\\n\\n  Low heat & humidity\\n 42\\n\\n  42 mm of monthly rainfall\\n 6\\n\\n  6 (High) UV index\\n\\n### More about Beijing', 'score': 0.9486564}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? No  \n",
      "Final Answer: 在2025年9月9日，北京的天气预计将是温和的，白天气温约为26°C（约79°F），夜间最低气温约为14°C（约57°F）。这个月的平均降雨量大约为42毫米，预计会有7天会有降雨。阳光照射时间大约为每天8小时。建议携带雨具以防突如其来的降雨。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "{'input': '查询2025年9月9日北京的天气情况', 'chat_history': [HumanMessage(content='查询2025年9月9日北京的天气情况', additional_kwargs={}, response_metadata={}), AIMessage(content='在2025年9月9日，北京的天气预计将是温和的，白天气温约为26°C（约79°F），夜间最低气温约为14°C（约57°F）。这个月的平均降雨量大约为42毫米，预计会有7天会有降雨。阳光照射时间大约为每天8小时。建议携带雨具以防突如其来的降雨。', additional_kwargs={}, response_metadata={})], 'output': '在2025年9月9日，北京的天气预计将是温和的，白天气温约为26°C（约79°F），夜间最低气温约为14°C（约57°F）。这个月的平均降雨量大约为42毫米，预计会有7天会有降雨。阳光照射时间大约为每天8小时。建议携带雨具以防突如其来的降雨。'}\n"
     ]
    }
   ],
   "execution_count": 32
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-09T07:37:59.323385Z",
     "start_time": "2025-09-09T07:37:53.297199Z"
    }
   },
   "cell_type": "code",
   "source": [
    "result = agent_executor.invoke({\"input\":\"上海的呢？\"})\n",
    "\n",
    "print(result)"
   ],
   "id": "eacddbb2111be530",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001B[1m> Entering new AgentExecutor chain...\u001B[0m\n",
      "\u001B[32;1m\u001B[1;3m```\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: Search\n",
      "Action Input: \"2025年9月9日 上海 天气预报\"\n",
      "```\u001B[0m\u001B[36;1m\u001B[1;3m[{'title': '中国上海2025年9月的天气历史中国', 'url': 'https://zh.weatherspark.com/h/m/137446/2025/9/2025%E5%B9%B49%E6%9C%88-%E4%B8%AD%E5%9B%BD%E3%80%81%E4%B8%AD%E5%9B%BD%E4%B8%8A%E6%B5%B7-%E7%9A%84%E5%8E%86%E5%8F%B2%E5%A4%A9%E6%B0%94', 'content': '60% 大部分多云   80% 阴天   100%  无重要云未检测到云晴空万里  每小时所报告的云彩覆盖，以天空的云彩覆盖百分比分类。    2025年9月中国上海的观察天气 2025年年秋季  链接  下载  比较  平均值  历史：123456789月1011122024年2023年2022年2021年    雾薄雾细雨小雨中雨大雨冻雨雨夹雪雪粒小雪中雪大雪冰雹雷雨  每小时观察到的天气，按类型着色（按严重程度的排序）。 如果存在多项报告，将显示最严重的代码。  | 白天 | 观察 | 降水 | 代码 |  ---  --- | | 9月1日周一 | Recent Thunderstorm、Thunderstorm、Thunderstorm with Heavy Rain、Thunderstorm with Rain、Recent Showers of Rain、Showers of Rain、Showers of Light Rain |  | RETS、TS、+TSRA、TSRA、RESHRA、SHRA、-SHRA | | 9月2日周二 | Recent [...] | 28日 |  | 34% | 上午11:31 | 东南偏东 | 下午9:21 | 西南偏西  | 下午4:25 | 南 | 403,402公里 | | 29日 |  | 44% | 下午12:25 | 东南 | 下午10:12 | 西南  | 下午5:19 | 南 | 400,413公里 | | 30日 |  | 50% | 下午1:16 | 东南偏东 | 下午11:09 | 西南偏西  | 下午6:13 | 南 | 396,186公里 |  2025年9月 中国上海的湿度舒适水平 2025年年秋季  链接  下载  比较  平均值  历史：123456789月1011122024年2023年2022年2021年    干燥   13°C 舒适   16°C 潮湿   18°C 闷热   21°C 闷热难受   24°C 极为难受  每小时报告的湿度舒适水平，按露点分类。 阴影叠加表示夜晚和民用曙光/暮光。  2025年9月中国上海的风速 2025年年秋季  链接  下载  比较  平均值  历史：123456789月1011122024年2023年2022年2021年 [...] | 中国上海2025年9月的天气历史 中国 此报告的数据来自上海虹桥国际机场。 查看附近所有的气象站  最新报告 — 下午2:00 2025年9月7日周日    16分钟之前    UTC 06:00  呼号 ZSSS  温度  36°C 酷热   |  |  |  --- | | 露点 | 26°C  极为难受 | | 相对湿度 | 57% |  降水  无报告  刮风  7.2每小时公里 二级风  云量  部分多云  1,219米   |  |  |  --- | | 能见度 | 10.00公里 | | 海拔 | 1,008毫巴 |  原始：ZSSS 070600Z VRB02MPS 9999 SCT040 36/26 Q1008 NOSIG  此报告显示中国上海的过去天气，提供了2025年9月的天气历史。 它突出了我们所有的可用历史天气数据序列，包括中国上海2025年9月的温度历史。 您可以通过点击图表，从年份深化至一个具体的月份，甚至具体的一天的报告。  中国上海2025年9月的温度历史 2025年年秋季  链接  下载  比较  平均值', 'score': 0.8674071}, {'title': '上海2025年9月历史天气', 'url': 'https://tianqi.2345.com/wea_history/58362.htm', 'content': '2011年\\n 2012年\\n 2013年\\n 2014年\\n 2015年\\n 2016年\\n 2017年\\n 2018年\\n 2019年\\n 2020年\\n 2021年\\n 2022年\\n 2023年\\n 2024年\\n 2025年\\n\\n9月\\n\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n\\n 平均高温：34°    平均低温：27°\\n 极端高温：37°(2025-09-06)\\n 极端低温：26°(2025-09-02)\\n 平均空气质量指数：38\\n 空气最好：29 优(09月02日)\\n 空气最差：66良(09月07日) [...] | 日期 | 最高温 | 最低温 | 天气 | 风力风向 | 空气质量指数 |\\n ---  ---  --- |\\n| 2025-09-01 周一 | 35° | 26° | 暴雨~小雨 | 东北风1级 | 36 优 |\\n| 2025-09-02 周二 | 32° | 26° | 大雨~小雨 | 东南风2级 | 29 优 |\\n| 2025-09-03 周三 | 33° | 26° | 阴 | 东南风2级 | 30 优 |\\n| 2025-09-04 周四 | 33° | 27° | 小雨~多云 | 东南风2级 | 29 优 |\\n| 2025-09-05 周五 | 36° | 27° | 阴~多云 | 东南风3级 | 40 优 |\\n| 2025-09-06 周六 | 37° | 27° | 阴~多云 | 西南风2级 | 38 优 |\\n| 2025-09-07 周日 | 34° | 27° | 小雨~阴 | 东北风2级 | 66 良 |\\n\\n上一月\\n下一月\\n\\n## 上海市下辖地区天气 [...] A 阿德拉尔\\n A 阿尔及尔\\n A 阿尔泽\\n A 埃尔果累阿\\n A 艾格瓦特\\n A 艾因塞夫拉\\n A 阿纳巴\\n A 安纳巴\\n A 奥兰\\n A 奥兰港\\n B 巴里卡\\n B 巴特纳\\n B 贝贾亚\\n B 贝贾亚港\\n B 贝贾亚机场\\n B 贝尼阿巴斯\\n B 贝尼萨夫\\n B 贝沙尔\\n B 比斯克拉\\n B 布阿拉里季堡\\n B 布维拉\\n D 代利斯\\n G 盖尔达耶\\n G 盖勒马\\n J 加达亚\\n J 加莱\\n J 贾奈特\\n J 加扎乌埃特\\n J 杰勒法\\n J 吉杰勒港\\n J 吉杰勒机场\\n J 君士坦丁\\n M 迈舍里耶\\n M 米利亚纳\\n M 穆斯塔加奈姆\\n M 姆西拉\\n N 纳马\\n S 赛达\\n S 塞提夫\\n S 斯基克达\\n S 苏克阿赫拉斯\\n T 泰贝萨\\n T 塔曼拉塞特\\n T 塔希费特\\n T 特莱姆森赞塔那机场\\n T 特内斯\\n T 提济乌祖\\n T 提米蒙\\n T 提奈斯\\n T 廷杜夫\\n T 提亚雷特\\n T 图古尔特\\n W 瓦尔格拉\\n X 西迪贝勒阿巴斯\\n X 谢利夫\\n Y 伊利济\\n Y 伊利齐\\n Y 英盖扎姆\\n Y 英纳梅那斯\\n Y 因萨拉赫\\n\\n确定\\n取消\\n\\n2025年', 'score': 0.8443195}, {'title': '上海九月, 2025 天气', 'url': 'https://www.meteoprog.com/cn/weather/Szanghaj/month/september/', 'content': \"今天\\n 2周\\n 每月\\n 每小时\\n\\n# 上海 九月, 2025 天气\\n\\n 30天\\n 8月\\n 9月\\n 10月\\n 11月\\n 12月\\n 1月\\n 2月\\n 3月\\n 4月\\n 5月\\n 6月\\n 7月\\n\\n1 九月\\n\\n+29°+24°\\n\\n2 九月\\n\\n+30°+25°\\n\\n3 九月\\n\\n+30°+24°\\n\\n4 九月\\n\\n+29°+24°\\n\\n5 九月\\n\\n+29°+24°\\n\\n6 九月\\n\\n+29°+23°\\n\\n7 九月\\n\\n+28°+23°\\n\\n8 九月\\n\\n+29°+24°\\n\\n9 九月\\n\\n+29°+24°\\n\\n10 九月\\n\\n+29°+24°\\n\\n11 九月\\n\\n+28°+24°\\n\\n12 九月\\n\\n+28°+23°\\n\\n13 九月\\n\\n+28°+23°\\n\\n14 九月\\n\\n+28°+23°\\n\\n15 九月\\n\\n+27°+23°\\n\\n16 九月\\n\\n+28°+22°\\n\\n17 九月\\n\\n+28°+22°\\n\\n18 九月\\n\\n+27°+22°\\n\\n19 九月\\n\\n+27°+22°\\n\\n20 九月\\n\\n+27°+22°\\n\\n21 九月\\n\\n+27°+22°\\n\\n22 九月\\n\\n+25°+20°\\n\\n23 九月\\n\\n+26°+20°\\n\\n24 九月\\n\\n+27°+21°\\n\\n25 九月 [...] Deutsch\\n English\\n Español\\n Français\\n Hrvatski\\n Indonesia\\n Latviešu\\n Lietuvių\\n Magyar\\n Nederlands\\n O'zbek\\n Português\\n Polski\\n Romnă\\n Slovenský\\n Suomi\\n Svenska\\n Türkçe\\n Čeština\\n Ελληνική\\n Български\\n Српски\\n Русский\\n Українська\\n عربي\\n 汉语\\n\\n阴, 小雨 [...] +26°+21°\\n\\n26 九月\\n\\n+26°+22°\\n\\n27 九月\\n\\n+27°+22°\\n\\n28 九月\\n\\n+26°+21°\\n\\n29 九月\\n\\n+25°+20°\\n\\n30 九月\\n\\n+25°+19°\\n\\n1 十月\\n\\n+25°+20°\\n\\n2 十月\\n\\n+26°+19°\\n\\n3 十月\\n\\n+25°+19°\\n\\n4 十月\\n\\n+25°+18°\\n\\n5 十月\\n\\n+24°+18°\\n\\n\\\\ 天气预报是根据过去 70 年的历史数据计算得出的\\n\\n## 九月 在 上海\\n\\n最大限度。 温度\\n+37°C\\n\\n分钟。 温度\\n+12,1°C\\n\\n月降水量\\n102,88毫米\\n\\n风速\\n27,35米/秒\\n\\n 最大限度。 温度\\n 分钟。 温度\\n\\n## 其他地区预测\\n\\n中国\\n世界\\n\\n上海\\n\\n+30°\\n\\n重庆\\n\\n+28°\\n\\n北京\\n\\n+25°\\n\\n成都\\n\\n+20°\\n\\n广州\\n\\n+33°\\n\\n深圳\\n\\n+29°\\n\\n天津\\n\\n+26°\\n\\n西安\\n\\n+20°\\n\\n武汉\\n\\n+31°\\n\\n杭州\\n\\n+31°\\n\\n东莞市\\n\\n+31°\\n\\n青岛市\\n\\n+28°\\n\\n哈尔滨\\n\\n+23°\\n\\n佛山市\\n\\n+33°\\n\\n合肥\\n\\n+27°\\n\\n南京\\n\\n+31°\\n\\n沈阳\\n\\n+22°\\n\\n南充\\n\\n+29°\", 'score': 0.8266142}]\u001B[0m\u001B[32;1m\u001B[1;3mDo I need to use a tool? No\n",
      "Final Answer: 2025年9月9日，上海的天气预报显示白天多云，夜间有小雨，预计最高气温为29℃，最低气温为24℃。公众需注意天气变化，适时携带雨具以应对降雨。\u001B[0m\n",
      "\n",
      "\u001B[1m> Finished chain.\u001B[0m\n",
      "{'input': '上海的呢？', 'chat_history': [HumanMessage(content='查询2025年9月9日北京的天气情况', additional_kwargs={}, response_metadata={}), AIMessage(content='2025年9月9日，北京的天气预报显示白天晴转阴，傍晚有雷阵雨，部分地区可能伴有大风、冰雹和短时强降水。预计最高气温为30℃，夜间最低气温为21℃。公众需注意防范强对流天气，建议携带雨具以应对降雨。\\n```', additional_kwargs={}, response_metadata={}), HumanMessage(content='上海的呢？', additional_kwargs={}, response_metadata={}), AIMessage(content='2025年9月9日，上海的天气预报显示白天多云，夜间有小雨，预计最高气温为29℃，最低气温为24℃。公众需注意天气变化，适时携带雨具以应对降雨。', additional_kwargs={}, response_metadata={})], 'output': '2025年9月9日，上海的天气预报显示白天多云，夜间有小雨，预计最高气温为29℃，最低气温为24℃。公众需注意天气变化，适时携带雨具以应对降雨。'}\n"
     ]
    }
   ],
   "execution_count": 31
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
